package siestageek.swing;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.swing.JLabel;
import javax.swing.Timer;

public class SwingStatusBar extends JLabel {
	
	public SwingStatusBar() {
		setHorizontalAlignment( JLabel.RIGHT );
		setText( getSysdate() );
		
		// 1초 마다 발생하는 이벤트를 처리할 리스너
		// 내부 클래스로 리스너 클래스를 정의
		class TimerListener implements ActionListener {
			@Override
			public void actionPerformed(ActionEvent e) {
				setText( getSysdate() );
			}
		} // TimerListener
		
		TimerListener updater = new TimerListener();
		// 리스너 클래스에 대한 객체를 생성 
		Timer timer = new Timer(1000, updater );
		// 1초 간격으로 이벤트를 생성하고
		// 그것을 updater라는 리스너가 처리함
		timer.start();
		
	}
	
	public static String getSysdate() {
		String fmt = " YYYY년 MM월 dd일 E요일 a hh:mm:ss ";
		Date sysdate = new Date();
		return new SimpleDateFormat(fmt).format(sysdate);
	}
	
}







